---
id: integrations-caltopo
title: CalTopo / SARTopo
sidebar_label: CalTopo / SARTopo
sidebar_position: 1
---

import ReactPlayer from "react-player";

## CalTopo / SARTopo

Meshtastic can integrate with [CalTopo](https://caltopo.com/) Desktop edition quite easily through the product's APRS over serial support functionality.

<div style={{ maxWidth: "800px", margin: "auto" }}>
  <ReactPlayer
    url="https://youtu.be/z_51FAPPl34"
    controls
    width="100%"
    height="400px"
  />
</div>

### Configuring the Meshtastic device

To configure our Meshtastic device for this integration, we have a couple of different options, both of which utilize the [Serial module](/docs/configuration/module/serial):

#### Enabling serial over the device's USB port

```shell title="Serial over USB"
meshtastic --set serial.enabled true --set serial.baud BAUD_9600 --set serial.mode CALTOPO --set serial.override_console_serial_port true
```

#### Enabling serial over an external USB to Serial adapter

```shell title="External serial adapter"
meshtastic --set serial.enabled true --set serial.baud BAUD_9600 --set serial.mode CALTOPO --set serial.txd = 13 --set serial.rxd = 14
```

:::info
Ensure that serial baud rate is set to `9600` on both the Meshtastic device and the CalTopo / SARTopo `topo.properties` configuration
:::

### Setting up CalTopo / SARTopo

To setup CalTopo for Meshtastic integration using the Live Tracking via APRS, refer to the official [documentation](https://training.caltopo.com/all_users/share/live-tracking#aprs).

Example `topo.properties` file configuration for use with Meshtastic:

![topo.properties](/img/software/integrations/caltopo/properties.webp)

After starting CalTopo Desktop, NMEA waypoint location sentences should be streamed into the logs from the connected Meshtastic device every 10 seconds:

![CalTopo Logs](/img/software/integrations/caltopo/logs.webp)

In the desktop's web UI for your CalTopo map, scroll down and check the **Shared Locations** checkbox under **Realtime Data**. Your nodes should appear on the map as points if they are connected correctly.

![shared-locations](/img/software/integrations/caltopo/local-stations.webp)

You can click on one or more of the node points and in the resulting tooltip, click **Record to Map**

![node point](/img/software/integrations/caltopo/click.webp)

In the resulting dialog, you can assign attributes such as a label or color to the live track created by the node.

![track](/img/software/integrations/caltopo/track.webp)

When you view the shared map on another device or mobile, the nodes should appear there as well now, if both the desktop and mobile device have internet connectivity.

![app](/img/software/integrations/caltopo/app.webp)
